package com.smart.thrift.model.server;


import com.smart.thrift.discoveryandbalance.discovery.Registry;
import com.smart.thrift.discoveryandbalance.discovery.ThriftServerNode;
import com.smart.thrift.model.wrapper.ThriftServiceWrapper;

import java.util.List;

public interface IThriftServer {

    void setServerId(String serverId);

    String getServerId();

    void setServerName(String serverName);

    String getServerName();

    void setRegistry(Registry<?> registry);

    Registry<?> getRegistry();

    ThriftServerNode getThriftServerNode();
    void setThriftServerNode(ThriftServerNode thriftServerNode);

    void setServiceWrappers(List<ThriftServiceWrapper> serviceWrappers);

    List<ThriftServiceWrapper> getServiceWrappers();

    /** start up thrift server*/
     void startUp();

    /** and shut down thrift server */
     void shutDown();

     boolean isServing();

}
